This invention relates generally to the use of a processor-based system to access information over a network such as the Internet.
At any given time, a processor-based system may include a plurality of software clients that access information from web servers using the same Internet connection. An Internet connection is typically a modem connected to an Internet service provider, a Digital Subscriber Line (DSL), a cable connection, a satellite connection, an Ethernet or a local area network (LAN). As used herein, a software client is any software component which may need to access to a network. The client may be an application or a part of an application. Thus, a plurality of software clients within the same process or from different processes may attempt to access a network through one or more connections at the same time.
Typically, in a dial up connection, a telephone link is established when any given client wishes to access the Internet. In some cases, the first client to access the Internet establishes the connection. That client controls the connection and may terminate the connection when the first client is done accessing the Internet. A second client seeking to access the Internet may determine that the first client has already established a connection and, using the Transmission Control Protocol (TCP)/Internet Protocol (IP), may access the Internet using the preexisting connection. When the first client terminates the connection, the first client may inadvertently and unknowingly terminate the connection being used by the second client as well. Thus, the activities undertaken by the second client may be interrupted and the second client must reestablish a connection with the web server. This inadvertent disconnection of one or more multiple users of a shared connection may result in inefficient use of the connection, may unnecessarily waste system resources and may result in delay and loss of information.
Moreover, because there are a variety of different types of network connections and characteristics of those connections, each client typically must accommodate the various characteristics which the client may encounter in different processor-based systems. In other words, in order to make the client widely useful, the client software must accommodate a variety of different types of network or Internet connections, such as dial up connections, DSL connections, cable connections and satellite connections. Similarly, each connection may have unique characteristics in a given processor-based system from a particular manufacturer. All this information is typically encapsulated into a given client so that each client is able to account for the peculiarities of a variety of typical interconnections.
As a result, the client is unnecessarily made more complicated and more burdensome. In addition, the client may not work seamlessly with all types and characteristics of network connections.
Thus, there is a need for better ways to enable clients to access network connections.